Existing computer implemented systems used to assemble and display image and sound presentations employ "load and play" operating principles. In such "load and play" systems, an author builds a presentation file which specifies a number of multimedia data elements, e.g. image files, video segment files, or digital audio segment files to be displayed in the presentation. At run-time, all of the multimedia data elements specified in the presentation file are loaded into the memory of a playback computer system and then played back, one after another, in the sequence specified in the presentation file.
However, load and play systems are subject to certain operational constraints which make them disadvantageous for assembling and playing back multimedia presentations. First, in load and play systems all multimedia data elements to be played back during a presentation must be loaded into the playback system's memory before playback can begin. Further, each multimedia data element must be loaded in full into active memory of the playback system before it can be played back.
These constraints have the effect of requiring all systems used for playing back the presentation to have large memory resources available, both as active memory for playing back particular multimedia data elements, and as larger, slower access, local storage media, e.g. magnetic, optical and/or magneto-optic disc or tape drives. However, since playback systems have finite active memory resources, load and play systems are subject to undesirable breaks during playback during which multimedia data elements are loaded into the playback system's active memory from the larger, slower access storage media and/or networks.
Further, load and play principles do not provide reproducible playback performance across a variety of playback system configurations. In existing load and play systems, the presentation file used to specify the playback sequence of multimedia elements does not permit the playback times of certain multimedia elements to be fixed so as to maintained the synchronization of images playback with respect to a background soundtrack under different system conditions.
Because of existing differences in the speeds of operation and memory access between available desktop systems, (e.g. a 166 Mhz Pentium.RTM. system versus a 50 Mhz 486 type system), a presentation sequence which results in synchronized playback on a relatively fast system where it is first assembled and tested, is often out of synchronization when played back on slower systems. Thus, an author assembling a presentation for playback on a relatively slow system must use a system of the same or similar speed in order to obtain predictable, consistent playback on such slow systems. In addition, an author of the multimedia presentation, being able to specify only the sequence of playing back multimedia elements rather than particular playback times, must rely on time-consuming trial and error techniques to achieve the desired timing and synchronization during playback,
In addition, existing load and play systems are ill-suited for playing back presentations across a network because they require that all multimedia data elements be loaded into the memory of the playback system. This operational constraint is the source of several problems. A one-time or occasional viewer of the presentation is forced to configure the playback system to free sufficient memory to permit the large volume of multimedia data elements supporting the presentation to be copied into the local storage and active memory thereof.
Further, networks on which a on-demand presentations are to be provided must be capable of responding to undetermined throughput requirements in order to transfer the supporting multimedia data elements en masse, prior to their being played back during the presentation. Should the network be even moderately busy when the presentation reaches a point which requires the loading of additional data elements, undesirable delays will occur which cannot be readily mitigated.
In addition, systems on which network available presentations are to be played back must be provided with communications hardware and software for servicing the not readily determined throughput requirements for receiving the multimedia data elements at load-time. Finally, after playback of the network available presentation, the playback system user must be able to identify the names of the multimedia data element files which have been loaded, i.e. copied, onto the playback system and cause them to be deleted, in order to protect the playback system from memory overload.
Existing systems are not readily customized with user add-on features such as conditional statements which condition the performance of operations upon the occurrence of specified events. Existing off-the shelf systems provide few opportunities for varying the operation of a presentation based on events which occur during playback. Off-the-shelf systems do not provide the presentation author with freedom to choose the type of events upon which the performance of particular operations is conditioned, nor do they permit conditional statements to be added, removed, and changed during the playback, i.e. during the run-time of a presentation. Further, while methods exist for creating customized multimedia presentations having conditional statements for performing operations upon the occurrence of particular specified events, custom application programs must be written for assembling and playing back such presentations, requiring significant time and programming expense. Finally, such customized presentations cannot be reused readily with different multimedia data element content or the addition of or change in conditional statements.
Accordingly, it is an object of the present invention to provide a computer implemented system for assembling a multimedia presentation which permits an author to specify one or more times for playing back specified images and/or sounds of a multimedia data element, so as to facilitate synchronization upon playback.
Another object of the present invention is to provide a computer implemented system for assembling a multimedia presentation which generates a playback-oriented presentation data stream which does not require large playback system memory resources.
A further object of the present invention to provide a computer implemented system for assembling a multimedia presentation which permits an author to select a playback bandwidth for generating a bandwidth-controlled presentation data stream, thereby controlling network load and providing predictable performance on a variety of playback systems.
Still another object of the present invention is to provide a computer implemented system for assembling a multimedia presentation which gives an author unlimited freedom in specifying conditional statements to be inserted into a presentation data stream for varying the run-time playback of a presentation data stream.
Still another object of the present invention is to provide a computer implemented system for assembling a multimedia presentation which provides a playback-oriented presentation data stream containing data portions including commands and possibly also compressed image and/or sound data and/or a timestamp.
Still another object of the present invention is to provide a computer implemented system for assembling a multimedia presentation which regenerates a presentation data stream by finding and replacing data portions therein which correspond to multimedia elements which have been updated.
A further object of the present invention is to provide a computer implemented system and method for playing back a multimedia presentation which identifies data portions in a presentation data stream, extracts commands from those identified data portions, and uses the commands at run-time for controlling playback operations.